package juego.municiones;

import javax.swing.ImageIcon;
import javax.swing.JLabel;

import juego.control.Personaje;
import juego.enemigo.Enemigo;
import juego.entidades.Entidad;
import juego.entidades.Vacio;
import juego.graficos.ElementoGrafico;
import juego.niveles.Nivel;
import juego.powerups.Moneda;

public class Movimiento extends Thread{
	protected int x;
	protected int y;
	protected JLabel jlabel1;
	protected Personaje mario;
	protected ElementoGrafico amover;
	protected Nivel l;
	protected boolean colisione=false;
	public Movimiento (Personaje mario,int x, int y, JLabel j,Entidad e){
		mario=mario;
		this.x=x;
		this.y=y;
		this.jlabel1=j;
        amover=e.getGrafico();
        l=mario.getLevel();
	}
	
	public void run (){
		while (!colisione){
            if (l.getEntidad(x, y).hayMalos()){
				colisione=true;
				
				
			}
			else {
				
				Entidad v= l.getEntidad(x, y);
				
				if (	v.tieneDisparos()){
					v.removeDisparo();
	     			l.setEntidad(x, y, v);
	     			
					Entidad v2=  l.getEntidad(x,y+1);
					if (v2!=null){
			        v2.addDisparo(new Municiones());
					l.setEntidad(x, y+1, v2);
					amover.setLocation((y+1)*32,(x)*32);
					jlabel1.add(amover);
					jlabel1.repaint();
					y+= 1;
					
				} else {this.stop();}
				
			}
			
			
			
		}}
		
		if (colisione){
			 
		    Enemigo m= mario.getLevel().getEntidad(x, y).getPrimerMalo();
		    m.eliminarEnemigo(mario, x, y, jlabel1);
		    
	    	amover.setIcon(new ImageIcon(getClass().getClassLoader().getResource("juego/graficos/powerups/vacio/vacio_transparente.png")));
			amover.setLocation((y)*32,(x)*32);
			jlabel1.add(amover);
			jlabel1.repaint();
			this.stop();
		
			
		}
		
		try
		{
			
			Thread.sleep (1000);
		}
		catch (InterruptedException ex)
		{
		
		}
		
		
		
		
	}
	

}




















